<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>MRSL DecompUtil Library: include/decomp_basis/data_type.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MRSL DecompUtil Library
   &#160;<span id="projectnumber">0.1</span>
   </div>
   <div id="projectbrief">An implementaion of convex decomposition over point cloud</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_0ea7c0ecff050f14fbfcb8a22f95278f.html">decomp_basis</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">data_type.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="data__type_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;math.h&gt;</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;Eigen/Geometry&gt;</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;Eigen/StdVector&gt;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#ifndef ANSI_COLOR_RED</span></div><div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="data__type_8h.html#a34995b955465f6bbb37c359173d50477">   17</a></span>&#160;<span class="preprocessor">#define ANSI_COLOR_RED &quot;\x1b[1;31m&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef ANSI_COLOR_GREEN</span></div><div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="data__type_8h.html#a966c72d8d733c7734c6c784753d894c7">   21</a></span>&#160;<span class="preprocessor">#define ANSI_COLOR_GREEN &quot;\x1b[1;32m&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#ifndef ANSI_COLOR_YELLOW</span></div><div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="data__type_8h.html#a5a123b382640b3aa65dd5db386002fbc">   25</a></span>&#160;<span class="preprocessor">#define ANSI_COLOR_YELLOW &quot;\x1b[1;33m&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifndef ANSI_COLOR_BLUE</span></div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="data__type_8h.html#aca16e6a49eb51333c5fd3eee19487315">   29</a></span>&#160;<span class="preprocessor">#define ANSI_COLOR_BLUE &quot;\x1b[1;34m&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#ifndef ANSI_COLOR_MAGENTA</span></div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="data__type_8h.html#acb30614ba1535da5b9d0c490b3c10515">   33</a></span>&#160;<span class="preprocessor">#define ANSI_COLOR_MAGENTA &quot;\x1b[1;35m&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#ifndef ANSI_COLOR_CYAN</span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="data__type_8h.html#a8d0b0043e152438bb39b918a1f98c65f">   37</a></span>&#160;<span class="preprocessor">#define ANSI_COLOR_CYAN &quot;\x1b[1;36m&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#ifndef ANSI_COLOR_RESET</span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="data__type_8h.html#a92a364c2b863dde1a024a77eac2a5b3b">   41</a></span>&#160;<span class="preprocessor">#define ANSI_COLOR_RESET &quot;\x1b[0m&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#ifndef DATA_TYPE_H</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#define DATA_TYPE_H</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="data__type_8h.html#a7c99d9360fc6cac2762b786e2fb52266">   50</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="data__type_8h.html#a7c99d9360fc6cac2762b786e2fb52266">decimal_t</a>;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="data__type_8h.html#a30c607180de5bc1b7c30f5cbaf9b188b">   54</a></span>&#160;<span class="keyword">using</span> <a class="code" href="data__type_8h.html#a30c607180de5bc1b7c30f5cbaf9b188b">vec_E</a> = std::vector&lt;T, Eigen::aligned_allocator&lt;T&gt;&gt;;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N&gt;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">   57</a></span>&#160;<span class="keyword">using</span> <a class="code" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a> = Eigen::Matrix&lt;decimal_t, N, 1&gt;;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N&gt;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="data__type_8h.html#ac208833a6aa7ec29f39eb5ae142aaede">   60</a></span>&#160;<span class="keyword">using</span> <a class="code" href="data__type_8h.html#ac208833a6aa7ec29f39eb5ae142aaede">Veci</a> = Eigen::Matrix&lt;int, N, 1&gt;;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">int</span> M, <span class="keywordtype">int</span> N&gt;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="data__type_8h.html#a1eeda0bad4efd3be8cb2da1941982410">   63</a></span>&#160;<span class="keyword">using</span> <a class="code" href="data__type_8h.html#a1eeda0bad4efd3be8cb2da1941982410">Matf</a> = Eigen::Matrix&lt;decimal_t, M, N&gt;;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N&gt;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="data__type_8h.html#a44c975fba9ebd61e295d78215b6569c3">   66</a></span>&#160;<span class="keyword">using</span> <a class="code" href="data__type_8h.html#a44c975fba9ebd61e295d78215b6569c3">MatDNf</a> = Eigen::Matrix&lt;decimal_t, Eigen::Dynamic, N&gt;;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N&gt;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="data__type_8h.html#a74599b2a677a5186ef71a2a690c6171d">   69</a></span>&#160;<span class="keyword">using</span> <a class="code" href="data__type_8h.html#a74599b2a677a5186ef71a2a690c6171d">vec_Vecf</a> = <a class="code" href="data__type_8h.html#a30c607180de5bc1b7c30f5cbaf9b188b">vec_E&lt;Vecf&lt;N&gt;</a>&gt;;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N&gt;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="data__type_8h.html#ab0b0b0b007b0ba902fb040a70b3744e6">   72</a></span>&#160;<span class="keyword">using</span> <a class="code" href="data__type_8h.html#ab0b0b0b007b0ba902fb040a70b3744e6">vec_Veci</a> = <a class="code" href="data__type_8h.html#a30c607180de5bc1b7c30f5cbaf9b188b">vec_E&lt;Veci&lt;N&gt;</a>&gt;;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="data__type_8h.html#a135c596de9b80bec15985876ebd5036e">   75</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf&lt;2&gt;</a> <a class="code" href="data__type_8h.html#a135c596de9b80bec15985876ebd5036e">Vec2f</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="data__type_8h.html#a08412347a26b00366a9d576672cce68d">   77</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#ac208833a6aa7ec29f39eb5ae142aaede">Veci&lt;2&gt;</a> <a class="code" href="data__type_8h.html#a08412347a26b00366a9d576672cce68d">Vec2i</a>;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="data__type_8h.html#afd53e073786661e24985c48b4ef92fcb">   79</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf&lt;3&gt;</a> <a class="code" href="data__type_8h.html#afd53e073786661e24985c48b4ef92fcb">Vec3f</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="data__type_8h.html#a27cc7cd350b4919c77a6803461feb516">   81</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#ac208833a6aa7ec29f39eb5ae142aaede">Veci&lt;3&gt;</a> <a class="code" href="data__type_8h.html#a27cc7cd350b4919c77a6803461feb516">Vec3i</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="data__type_8h.html#a885809dc84c0c55d44fe4836f5cfa39b">   83</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf&lt;4&gt;</a> <a class="code" href="data__type_8h.html#a885809dc84c0c55d44fe4836f5cfa39b">Vec4f</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="data__type_8h.html#a940b1af907878e3cb6d2f7694730ee01">   85</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf&lt;6&gt;</a> <a class="code" href="data__type_8h.html#a940b1af907878e3cb6d2f7694730ee01">Vec6f</a>;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="data__type_8h.html#af640446aaa0ada84a270bd5639b36a7d">   88</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a30c607180de5bc1b7c30f5cbaf9b188b">vec_E&lt;Vec2f&gt;</a> <a class="code" href="data__type_8h.html#af640446aaa0ada84a270bd5639b36a7d">vec_Vec2f</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="data__type_8h.html#a79168c9f029798876a1093e0e53bc36b">   90</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a30c607180de5bc1b7c30f5cbaf9b188b">vec_E&lt;Vec2i&gt;</a> <a class="code" href="data__type_8h.html#a79168c9f029798876a1093e0e53bc36b">vec_Vec2i</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="data__type_8h.html#a62c46ed3e3ab6773b30439f9be38290b">   92</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a30c607180de5bc1b7c30f5cbaf9b188b">vec_E&lt;Vec3f&gt;</a> <a class="code" href="data__type_8h.html#a62c46ed3e3ab6773b30439f9be38290b">vec_Vec3f</a>;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="data__type_8h.html#aab99928bb9e8a58f0aeaf5d31c4866e4">   94</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a30c607180de5bc1b7c30f5cbaf9b188b">vec_E&lt;Vec3i&gt;</a> <a class="code" href="data__type_8h.html#aab99928bb9e8a58f0aeaf5d31c4866e4">vec_Vec3i</a>;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="data__type_8h.html#a5503e9ed3faaa114b9611829fb322981">   97</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a1eeda0bad4efd3be8cb2da1941982410">Matf&lt;2, 2&gt;</a> <a class="code" href="data__type_8h.html#a5503e9ed3faaa114b9611829fb322981">Mat2f</a>;</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="data__type_8h.html#a231e0258efbae239a7cdfbd52442f06e">   99</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a1eeda0bad4efd3be8cb2da1941982410">Matf&lt;3, 3&gt;</a> <a class="code" href="data__type_8h.html#a231e0258efbae239a7cdfbd52442f06e">Mat3f</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="data__type_8h.html#ad2b84927631f460dbf9862f63d624e09">  101</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a1eeda0bad4efd3be8cb2da1941982410">Matf&lt;4, 4&gt;</a> <a class="code" href="data__type_8h.html#ad2b84927631f460dbf9862f63d624e09">Mat4f</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="data__type_8h.html#a09f49eaed626a21b73aaee4c33e6fa45">  103</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a1eeda0bad4efd3be8cb2da1941982410">Matf&lt;6, 6&gt;</a> <a class="code" href="data__type_8h.html#a09f49eaed626a21b73aaee4c33e6fa45">Mat6f</a>;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="data__type_8h.html#af9c7300efe3567726a373210d4dbc046">  106</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf&lt;Eigen::Dynamic&gt;</a> <a class="code" href="data__type_8h.html#af9c7300efe3567726a373210d4dbc046">VecDf</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="data__type_8h.html#a2de422e2e68d8cecbfb1814e07e9a292">  108</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a44c975fba9ebd61e295d78215b6569c3">MatDNf&lt;2&gt;</a> <a class="code" href="data__type_8h.html#a2de422e2e68d8cecbfb1814e07e9a292">MatD2f</a>;</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="data__type_8h.html#a9c901cc0e1d9f03aab4aa4ea587517da">  110</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a44c975fba9ebd61e295d78215b6569c3">MatDNf&lt;3&gt;</a> <a class="code" href="data__type_8h.html#a9c901cc0e1d9f03aab4aa4ea587517da">MatD3f</a>;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="data__type_8h.html#ab13729f7d29cc8284965c7c42129a45f">  112</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="data__type_8h.html#a1eeda0bad4efd3be8cb2da1941982410">Matf&lt;Eigen::Dynamic, Eigen::Dynamic&gt;</a> <a class="code" href="data__type_8h.html#ab13729f7d29cc8284965c7c42129a45f">MatDf</a>;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="data__type_8h.html#a3b95b3d43bb8590852e0e74abaff3c6a">  115</a></span>&#160;<span class="keyword">typedef</span> Eigen::Transform&lt;decimal_t, 2, Eigen::Affine&gt; <a class="code" href="data__type_8h.html#a3b95b3d43bb8590852e0e74abaff3c6a">Aff2f</a>;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="data__type_8h.html#a99980a710976449f0a9d3d2ae8b8be87">  117</a></span>&#160;<span class="keyword">typedef</span> Eigen::Transform&lt;decimal_t, 3, Eigen::Affine&gt; <a class="code" href="data__type_8h.html#a99980a710976449f0a9d3d2ae8b8be87">Aff3f</a>;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="data__type_8h.html#a4857a8f36ec316f647bfc006d4799e9a">  120</a></span>&#160;<span class="keyword">typedef</span> Eigen::Quaternion&lt;decimal_t&gt; <a class="code" href="data__type_8h.html#a4857a8f36ec316f647bfc006d4799e9a">Quatf</a>;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor">#ifndef EIGEN_EPSILON</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor">#define EIGEN_EPSILON</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;constexpr <a class="code" href="data__type_8h.html#a7c99d9360fc6cac2762b786e2fb52266">decimal_t</a> <a class="code" href="data__type_8h.html#a81ebeac2c4a6e9be147beb487779e9b5">epsilon_</a> = 1e-10; <span class="comment">// numerical calculation error</span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="data__type_8h_html_ab13729f7d29cc8284965c7c42129a45f"><div class="ttname"><a href="data__type_8h.html#ab13729f7d29cc8284965c7c42129a45f">MatDf</a></div><div class="ttdeci">Matf&lt; Eigen::Dynamic, Eigen::Dynamic &gt; MatDf</div><div class="ttdoc">Dynamic MxN Eigen float matrix. </div><div class="ttdef"><b>Definition:</b> data_type.h:112</div></div>
<div class="ttc" id="data__type_8h_html_a74599b2a677a5186ef71a2a690c6171d"><div class="ttname"><a href="data__type_8h.html#a74599b2a677a5186ef71a2a690c6171d">vec_Vecf</a></div><div class="ttdeci">vec_E&lt; Vecf&lt; N &gt;&gt; vec_Vecf</div><div class="ttdoc">Vector of Eigen 1D float vector. </div><div class="ttdef"><b>Definition:</b> data_type.h:69</div></div>
<div class="ttc" id="data__type_8h_html_a231e0258efbae239a7cdfbd52442f06e"><div class="ttname"><a href="data__type_8h.html#a231e0258efbae239a7cdfbd52442f06e">Mat3f</a></div><div class="ttdeci">Matf&lt; 3, 3 &gt; Mat3f</div><div class="ttdoc">3x3 Matrix in float </div><div class="ttdef"><b>Definition:</b> data_type.h:99</div></div>
<div class="ttc" id="data__type_8h_html_a2de422e2e68d8cecbfb1814e07e9a292"><div class="ttname"><a href="data__type_8h.html#a2de422e2e68d8cecbfb1814e07e9a292">MatD2f</a></div><div class="ttdeci">MatDNf&lt; 2 &gt; MatD2f</div><div class="ttdoc">Nx2 Eigen float matrix. </div><div class="ttdef"><b>Definition:</b> data_type.h:108</div></div>
<div class="ttc" id="data__type_8h_html_a9c901cc0e1d9f03aab4aa4ea587517da"><div class="ttname"><a href="data__type_8h.html#a9c901cc0e1d9f03aab4aa4ea587517da">MatD3f</a></div><div class="ttdeci">MatDNf&lt; 3 &gt; MatD3f</div><div class="ttdoc">Nx3 Eigen float matrix. </div><div class="ttdef"><b>Definition:</b> data_type.h:110</div></div>
<div class="ttc" id="data__type_8h_html_a81ebeac2c4a6e9be147beb487779e9b5"><div class="ttname"><a href="data__type_8h.html#a81ebeac2c4a6e9be147beb487779e9b5">epsilon_</a></div><div class="ttdeci">constexpr decimal_t epsilon_</div><div class="ttdoc">Compensate for numerical error. </div><div class="ttdef"><b>Definition:</b> data_type.h:126</div></div>
<div class="ttc" id="data__type_8h_html_af9c7300efe3567726a373210d4dbc046"><div class="ttname"><a href="data__type_8h.html#af9c7300efe3567726a373210d4dbc046">VecDf</a></div><div class="ttdeci">Vecf&lt; Eigen::Dynamic &gt; VecDf</div><div class="ttdoc">Dynamic Nx1 Eigen float vector. </div><div class="ttdef"><b>Definition:</b> data_type.h:106</div></div>
<div class="ttc" id="data__type_8h_html_a44c975fba9ebd61e295d78215b6569c3"><div class="ttname"><a href="data__type_8h.html#a44c975fba9ebd61e295d78215b6569c3">MatDNf</a></div><div class="ttdeci">Eigen::Matrix&lt; decimal_t, Eigen::Dynamic, N &gt; MatDNf</div><div class="ttdoc">MxN Eigen matrix with M unknown. </div><div class="ttdef"><b>Definition:</b> data_type.h:66</div></div>
<div class="ttc" id="data__type_8h_html_afd53e073786661e24985c48b4ef92fcb"><div class="ttname"><a href="data__type_8h.html#afd53e073786661e24985c48b4ef92fcb">Vec3f</a></div><div class="ttdeci">Vecf&lt; 3 &gt; Vec3f</div><div class="ttdoc">Eigen 1D float vector of size 3. </div><div class="ttdef"><b>Definition:</b> data_type.h:79</div></div>
<div class="ttc" id="data__type_8h_html_a5503e9ed3faaa114b9611829fb322981"><div class="ttname"><a href="data__type_8h.html#a5503e9ed3faaa114b9611829fb322981">Mat2f</a></div><div class="ttdeci">Matf&lt; 2, 2 &gt; Mat2f</div><div class="ttdoc">2x2 Matrix in float </div><div class="ttdef"><b>Definition:</b> data_type.h:97</div></div>
<div class="ttc" id="data__type_8h_html_ad2b84927631f460dbf9862f63d624e09"><div class="ttname"><a href="data__type_8h.html#ad2b84927631f460dbf9862f63d624e09">Mat4f</a></div><div class="ttdeci">Matf&lt; 4, 4 &gt; Mat4f</div><div class="ttdoc">4x4 Matrix in float </div><div class="ttdef"><b>Definition:</b> data_type.h:101</div></div>
<div class="ttc" id="data__type_8h_html_a1eeda0bad4efd3be8cb2da1941982410"><div class="ttname"><a href="data__type_8h.html#a1eeda0bad4efd3be8cb2da1941982410">Matf</a></div><div class="ttdeci">Eigen::Matrix&lt; decimal_t, M, N &gt; Matf</div><div class="ttdoc">MxN Eigen matrix. </div><div class="ttdef"><b>Definition:</b> data_type.h:63</div></div>
<div class="ttc" id="data__type_8h_html_ac208833a6aa7ec29f39eb5ae142aaede"><div class="ttname"><a href="data__type_8h.html#ac208833a6aa7ec29f39eb5ae142aaede">Veci</a></div><div class="ttdeci">Eigen::Matrix&lt; int, N, 1 &gt; Veci</div><div class="ttdoc">Eigen 1D int vector. </div><div class="ttdef"><b>Definition:</b> data_type.h:60</div></div>
<div class="ttc" id="data__type_8h_html_a7c99d9360fc6cac2762b786e2fb52266"><div class="ttname"><a href="data__type_8h.html#a7c99d9360fc6cac2762b786e2fb52266">decimal_t</a></div><div class="ttdeci">double decimal_t</div><div class="ttdoc">Rename the float type used in lib. </div><div class="ttdef"><b>Definition:</b> data_type.h:50</div></div>
<div class="ttc" id="data__type_8h_html_a30c607180de5bc1b7c30f5cbaf9b188b"><div class="ttname"><a href="data__type_8h.html#a30c607180de5bc1b7c30f5cbaf9b188b">vec_E</a></div><div class="ttdeci">std::vector&lt; T, Eigen::aligned_allocator&lt; T &gt;&gt; vec_E</div><div class="ttdoc">Pre-allocated std::vector for Eigen using vec_E. </div><div class="ttdef"><b>Definition:</b> data_type.h:54</div></div>
<div class="ttc" id="data__type_8h_html_a09f49eaed626a21b73aaee4c33e6fa45"><div class="ttname"><a href="data__type_8h.html#a09f49eaed626a21b73aaee4c33e6fa45">Mat6f</a></div><div class="ttdeci">Matf&lt; 6, 6 &gt; Mat6f</div><div class="ttdoc">6x6 Matrix in float </div><div class="ttdef"><b>Definition:</b> data_type.h:103</div></div>
<div class="ttc" id="data__type_8h_html_a99980a710976449f0a9d3d2ae8b8be87"><div class="ttname"><a href="data__type_8h.html#a99980a710976449f0a9d3d2ae8b8be87">Aff3f</a></div><div class="ttdeci">Eigen::Transform&lt; decimal_t, 3, Eigen::Affine &gt; Aff3f</div><div class="ttdoc">Allias of Eigen::Affine3d. </div><div class="ttdef"><b>Definition:</b> data_type.h:117</div></div>
<div class="ttc" id="data__type_8h_html_a135c596de9b80bec15985876ebd5036e"><div class="ttname"><a href="data__type_8h.html#a135c596de9b80bec15985876ebd5036e">Vec2f</a></div><div class="ttdeci">Vecf&lt; 2 &gt; Vec2f</div><div class="ttdoc">Eigen 1D float vector of size 2. </div><div class="ttdef"><b>Definition:</b> data_type.h:75</div></div>
<div class="ttc" id="data__type_8h_html_a940b1af907878e3cb6d2f7694730ee01"><div class="ttname"><a href="data__type_8h.html#a940b1af907878e3cb6d2f7694730ee01">Vec6f</a></div><div class="ttdeci">Vecf&lt; 6 &gt; Vec6f</div><div class="ttdoc">Column vector in float of size 6. </div><div class="ttdef"><b>Definition:</b> data_type.h:85</div></div>
<div class="ttc" id="data__type_8h_html_aab99928bb9e8a58f0aeaf5d31c4866e4"><div class="ttname"><a href="data__type_8h.html#aab99928bb9e8a58f0aeaf5d31c4866e4">vec_Vec3i</a></div><div class="ttdeci">vec_E&lt; Vec3i &gt; vec_Vec3i</div><div class="ttdoc">Vector of type Vec3i. </div><div class="ttdef"><b>Definition:</b> data_type.h:94</div></div>
<div class="ttc" id="data__type_8h_html_a4857a8f36ec316f647bfc006d4799e9a"><div class="ttname"><a href="data__type_8h.html#a4857a8f36ec316f647bfc006d4799e9a">Quatf</a></div><div class="ttdeci">Eigen::Quaternion&lt; decimal_t &gt; Quatf</div><div class="ttdoc">Allias of Eigen::Quaterniond. </div><div class="ttdef"><b>Definition:</b> data_type.h:120</div></div>
<div class="ttc" id="data__type_8h_html_a3a0c45655a5e009e56634ccde0c5c575"><div class="ttname"><a href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a></div><div class="ttdeci">Eigen::Matrix&lt; decimal_t, N, 1 &gt; Vecf</div><div class="ttdoc">Eigen 1D float vector. </div><div class="ttdef"><b>Definition:</b> data_type.h:57</div></div>
<div class="ttc" id="data__type_8h_html_a885809dc84c0c55d44fe4836f5cfa39b"><div class="ttname"><a href="data__type_8h.html#a885809dc84c0c55d44fe4836f5cfa39b">Vec4f</a></div><div class="ttdeci">Vecf&lt; 4 &gt; Vec4f</div><div class="ttdoc">Eigen 1D float vector of size 4. </div><div class="ttdef"><b>Definition:</b> data_type.h:83</div></div>
<div class="ttc" id="data__type_8h_html_a62c46ed3e3ab6773b30439f9be38290b"><div class="ttname"><a href="data__type_8h.html#a62c46ed3e3ab6773b30439f9be38290b">vec_Vec3f</a></div><div class="ttdeci">vec_E&lt; Vec3f &gt; vec_Vec3f</div><div class="ttdoc">Vector of type Vec3f. </div><div class="ttdef"><b>Definition:</b> data_type.h:92</div></div>
<div class="ttc" id="data__type_8h_html_a79168c9f029798876a1093e0e53bc36b"><div class="ttname"><a href="data__type_8h.html#a79168c9f029798876a1093e0e53bc36b">vec_Vec2i</a></div><div class="ttdeci">vec_E&lt; Vec2i &gt; vec_Vec2i</div><div class="ttdoc">Vector of type Vec2i. </div><div class="ttdef"><b>Definition:</b> data_type.h:90</div></div>
<div class="ttc" id="data__type_8h_html_a27cc7cd350b4919c77a6803461feb516"><div class="ttname"><a href="data__type_8h.html#a27cc7cd350b4919c77a6803461feb516">Vec3i</a></div><div class="ttdeci">Veci&lt; 3 &gt; Vec3i</div><div class="ttdoc">Eigen 1D int vector of size 3. </div><div class="ttdef"><b>Definition:</b> data_type.h:81</div></div>
<div class="ttc" id="data__type_8h_html_a3b95b3d43bb8590852e0e74abaff3c6a"><div class="ttname"><a href="data__type_8h.html#a3b95b3d43bb8590852e0e74abaff3c6a">Aff2f</a></div><div class="ttdeci">Eigen::Transform&lt; decimal_t, 2, Eigen::Affine &gt; Aff2f</div><div class="ttdoc">Allias of Eigen::Affine2d. </div><div class="ttdef"><b>Definition:</b> data_type.h:115</div></div>
<div class="ttc" id="data__type_8h_html_a08412347a26b00366a9d576672cce68d"><div class="ttname"><a href="data__type_8h.html#a08412347a26b00366a9d576672cce68d">Vec2i</a></div><div class="ttdeci">Veci&lt; 2 &gt; Vec2i</div><div class="ttdoc">Eigen 1D int vector of size 2. </div><div class="ttdef"><b>Definition:</b> data_type.h:77</div></div>
<div class="ttc" id="data__type_8h_html_af640446aaa0ada84a270bd5639b36a7d"><div class="ttname"><a href="data__type_8h.html#af640446aaa0ada84a270bd5639b36a7d">vec_Vec2f</a></div><div class="ttdeci">vec_E&lt; Vec2f &gt; vec_Vec2f</div><div class="ttdoc">Vector of type Vec2f. </div><div class="ttdef"><b>Definition:</b> data_type.h:88</div></div>
<div class="ttc" id="data__type_8h_html_ab0b0b0b007b0ba902fb040a70b3744e6"><div class="ttname"><a href="data__type_8h.html#ab0b0b0b007b0ba902fb040a70b3744e6">vec_Veci</a></div><div class="ttdeci">vec_E&lt; Veci&lt; N &gt;&gt; vec_Veci</div><div class="ttdoc">Vector of Eigen 1D int vector. </div><div class="ttdef"><b>Definition:</b> data_type.h:72</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
